<template>
	<div class="app-container">
		<div class="zd3">
			<div class="zd3-title">
				<p>
					<span>目录</span>
					<input v-model="searchMulu" type="text" placeholder="请输入目录" />
				</p>
				<h3 @click="getList">查询</h3>
				<h4 @click="reset" style="margin: 0 30px;padding:0 10px">重置</h4>
				<h3 @click="showMulu = true,tempIndex = -1" style="padding:0 10px;background: #0093FF">添加目录</h3>
			</div>
			<div class="zd3-btm">
				<el-table :data="muluData" style="width: 100%;border-radius: 8px;" v-loading="loading">
					<el-table-column type="index" align="center" label="序号" width="80" />
					<el-table-column align="center" prop="catalogueName" label="目录名称" />
					<el-table-column align="center" width="200" label="操作">
						<template slot-scope="scope">
							<el-button type="text" size="small" @click="write(scope.row,scope.$index)">修改</el-button>
							<el-popconfirm placement="top" hideIcon title="是否要删除此行？" @onConfirm="deleteRow(scope.row)">
								<el-button type="text" size="small" slot="reference">删除</el-button>
							</el-popconfirm>
						</template>
					</el-table-column>
				</el-table>
				<el-pagination background hide-on-single-page layout="prev, pager, next" :total="total" @prev-click="goPrev" @next-click="goNext" />
			</div>
		</div>
		<el-dialog :visible.sync="showMulu" :close-on-click-modal="false" title="编辑目录" :modal-append-to-body="false" :modal="true" width="60">
			<div class="change">
				<p>
					<span>目录</span>
					<input type="text" v-model="mulu" placeholder="请输入分类名称" />
				</p>
			</div>
			<div slot="footer" class="dialog-footer">
				<el-button @click="showMulu = false">取消</el-button>
				<el-button type="primary" @click="save" :loading='isClick'>确定</el-button>
			</div>
		</el-dialog>
	</div>
</template>

<script>
import { addMulu, deleteMulu, ewmMulu, updateMulu } from '@/api/ewmApi'
export default {
	data() {
		return {
			muluData: [],
			mulu: '',
			showMulu: false,
			tempIndex: -1,
			total: 1,
			id: '',
			searchMulu: '',
			isClick: false,
			loading: true
		};
	},
	mounted(){
		this.getList()
	},
	methods: {
		getList(){
			ewmMulu({catalogueName: this.searchMulu ? this.searchMulu : null}).then(res => {
				console.log(res)
				this.muluData = res.data
				this.loading = false
			})
		},
		save() {
			this.isClick = true
			console.log(this.tempIndex);
			if(this.tempIndex == -1){
				addMulu({catalogueName: this.mulu}).then(res => {
					console.log(res)
					this.$message({
						message: '新增成功！',
						type: 'success'
					});
					this.getList()
					this.isClick = false
				})
			}else{
				updateMulu({catalogueName: this.mulu,id: this.id}).then(res => {
					console.log(res)
					this.$message({
						message: res.message,
						type: 'success'
					});
					this.getList()
					this.isClick = false
				})
			}
			this.showMulu = false
			this.tempIndex = -1
		},
		write(item,index){
			this.showMulu = true
			this.mulu = item.catalogueName
			this.id = item.id
			this.tempIndex = index
		},
		deleteRow(item) {
			console.log('删除')
			deleteMulu(item.id).then(res => {
				console.log(res)
				this.$message({
					message: res.message,
					type: 'success'
				});
				this.getList()
			})
		},
		reset(){
			this.searchMulu = ''
		},
		goPrev(page) {
			console.log(page);
		},
		goNext(page) {
			console.log(page);
		}
	}
};
</script>

<style lang="scss" scoped>
/deep/.el-button--primary {
	color: #fff;
	background-color: #18a05e !important;
	border-color: #18a05e !important;
}
/deep/.el-button--primary:hover,
.el-button--primary:focus {
	background: #18a05e !important;
	border-color: #18a05e !important;
	color: #fff !important;
}
/deep/.el-button:hover,
.el-button:focus {
	color: #18a05e;
	background-color: transparent;
}
/deep/.el-button--primary {
	color: #fff;
	background-color: #18a05e;
	border-color: #18a05e;
}
/deep/.el-button--text {
	color: #00c666 !important;
}
.zd3-title {
	height: 60px;
	display: flex;
	align-items: center;
	padding: 0 20px;
	position: relative;
	background: #ffffff;
	// border-bottom: 1px solid rgba(0, 0, 0, 0.1);

	> p {
		font-size: 14px;
		color: #333;
		margin-right: 50px;

		> span {
			padding-right: 20px;
		}

		> input {
			width: 200px;
			height: 32px;
			// background: #ccc;
			border-radius: 3px;
			border: 1px solid #ccc;
			padding-left: 10px;
			color: #333;
		}
	}

	> h3 {
		// width: 64px;
		height: 32px;
		padding: 0 10px;
		background: #18a05e;
		border-radius: 3px;
		// margin: 0 40px 0 60px;
		color: #fff;
		font-size: 14px;
		line-height: 32px;
		font-weight: 100;
		text-align: center;
		cursor: pointer;
	}

	> h4 {
		// width: 64px;
		height: 32px;
		border-radius: 3px;
		border: 1px solid rgba(0, 0, 0, 0.1);
		color: #333;
		font-size: 14px;
		line-height: 32px;
		font-weight: 100;
		text-align: center;
		cursor: pointer;
	}
}
.zd3-btm .btn-prev:after {
	content: '上一页';
}
.zd3-btm .btn-next:before {
	content: '下一页';
}
.zd3-btm .btn-prev,
.zd3-btm .btn-next {
	width: 65px;
}
.zd3-btm {
	background: rgba(255, 255, 255, 1);
	// border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	// margin-top: 20px;
	overflow: hidden;
	&-title {
		display: flex;
		align-items: center;
		height: 70px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
		background: #ffffff;
		> p {
			text-align: center;
			font-size: 16px;
			color: #333;
		}
	}
	.el-pagination {
		white-space: nowrap;
		padding: 15px 5px;
		color: #303133;
		font-weight: bold;
	}
	.addDate {
		margin: 20px 32px 10px 32px;
		height: 32px;
		border-radius: 3px;
		text-align: center;
		line-height: 32px;
		font-size: 14px;
		color: #333;
		cursor: pointer;
		border: 1px dashed rgba(0, 0, 0, 0.25);
	}
	.el-button--text {
		margin: 0 15px;
	}
}
.change {
	display: flex;
	flex-wrap: wrap;
	> p {
		// width: 50%;
		font-size: 14px;
		display: flex;
		align-items: center;
		color: #333;
		/deep/.el-input__inner {
			width: inherit;
			background: none;
			height: 32px;
			// line-height: 32px;
			color: #333;
			border: 1px solid rgba(0, 0, 0, 0.1);
			padding: 0 25px;
		}
		/deep/.el-input__icon {
			line-height: 32px;
		}
		.userselect {
			// max-width: 250px;
			flex: 1;
		}

		> span {
			display: block;
			width: 120px;
			text-align: right;
			padding-right: 15px;
		}
		> input {
			width: inherit;
			flex: 1;
			height: 32px;
			border-radius: 3px;
			border: 1px solid rgba(0, 0, 0, 0.1);
			padding-left: 10px;
			color: #333;
		}
	}
}
</style>
